#include<bits/stdc++.h>

using namespace std;
//deque FIFO (First In First  Out) 双向队列（允许头部、尾部加入元素，也允许头部/尾部弹出元素 ）
int data[1000], head = 500, tail = head - 1;//data[head..tail]构成了一个队列
//1 2 3 4 5 依次进队
//重复输出队头元素 直到队列为空
//队列的常见操作

//1. 初始化空队列init  head=n/2,tail=head-1;
//2a. 尾部进队 push data[++tail]=x;
//2b. 头部进队 push data[--head]=x;
//3a. 头部出队 head++;
//3b. 尾部出队  tail--;
//4a. 查询队头（不弹出) data[head]
//4b. 查询队尾（不弹出) data[tail]
int main() {
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            data[++tail] = i;
        } else {
            data[--head] = i;
        }

    }
//    while(head<=tail){
//        cout<<data[head]<<" ";
//        ++head;
//    }
    while (head <= tail) {
        cout << data[tail] << "  ";
        --tail;
    }
    return 0;
}